SQL-Scripte

Die für die Suchanfrage einer Maske notwendigen SQL-Ausdrücke sind in der Tabelle maskeninfo im Blob-Feld select_stmt abgelegt.

Ein kleines Beispiel soll die Besonderheiten der SuperX-Suchanfragen erläutern.

 

Feld

Eintrag

name

Auslastung

select_stmt

select lehreinheit, export, auslastquote from auslastung where jahr = <<Jahr>>

/*and lehreinheit = <<Lehreinheit>> */

into temp tmp_auslastung with no log;

select * from tmp_auslastung order by 1 ;

cleanup_stmt

drop table tmp_auslastung;

 

Es handelt sich hierbei um eine Maske zur Bestimmung der Auslastung einer Lehreinheit. Auf der Auswahlmaske gibt es 2 Felder: Jahr und Lehreinheit. Jahr ist ein obligatorisches, Lehreinheitein fakultatives Eingabefeld.

Für jedes Eingabefeld gibt es im select_stmt eine Variable <<  >>, die beim Auswerten der SQL Anweisungen durch den Inhalt des Feldes ersetzt wird. <<Jahr>> wird durch das vom User gewählte Jahr ersetzt. Handelt es sich wie bei <<Lehreinheit>> um ein fakultatives Eingabefeld, so kann der Feldinhalt leer sein. In diesem Fall wird zusätzlich der Teil der SQL-Anweisung auskommentiert (/*...*/), in dem die entsprechende Variable vorkommt (zwischen 2 Kommentarklammern (/*...*/) muss genau eine Feldvariable stehen!). Falls eine Lehreinheit vom User ausgewählt wird (z.B. 50000=Psychologie) wird die Zeile and lehreinheit =50000 mit ausgeführt. Wenn keine Lehreinheit ausgewählt wurde, bleibt sie unberücksichtigt und man erhält einen Gesamtwert über alle Lehreinheiten.

Der Variablen <<UserID>> kommt eine Sonderbedeutung zu: Sie ist im Applet als verborgenes Feld vorhanden. Für <<UserID>> wird die Nummer des Benutzers eingesetzt (vgl. sp_user_orga_child, s.o.).

 

 

!

 

Wichtig:Die letzte SQL-Anweisung muss ein select-Ausdruck sein, der das Ergebnis der Suchanfrage liefert. Das Ergebnis steht in unserem Beispiel in der temporären Tabelle tmp_auslastung. Diese Tabelle muss nach der Ausführung des select-Ausdrucks noch entfernt werden. Dafur gibt es das Feld cleanup_stmt, dessen Inhalt nach Ausführung von select_stmt ausgewertet wird.

 

 


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 249 / 277
Letzter Update: 18.08.2008
Impressum